<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
  /**
   * 1.不绑定this，也不绑定arguments
   * 2.不能用作构造函数来使用，也不能跟new一起使用
   */
  var foo=(name,age)=>{
      console.log(this)
    }
  foo('111',222)//window  
   /**
    * 如果函数体确认时一个对象，必须加上(),redux常用
    * 
    */
   
  var arrFn=()=>({name:'aha'})
  console.log('arrFn', arrFn())
  //this的寻找规则
  //对象没有作用域
  var obj={
    name:'cac',
    foo:()=>{
      var bar=()=>{
        console.log('bar',this)
      }
      return bar
    }
  }
  var fun=obj.foo()
  fun.apply('abc')

function request(url,callFun){
  var results=['abc','ccc']
  callFun(results)
}
//调用外部函数
var obj1={
  name:[],
  network:function(){
      console.log(1,this)//隐式调用 -》obj
var _this=this
    request('/sks/sss',function(res){
      console.log(this)//独立函数调用->window
      console.log(_this)//obj
    })
  }
}
  obj1.network()
  </script>
</body>
</html>